From 48fd46e71f849a7f7e1970f0f3e1071660c8554a Mon Sep 17 00:00:00 2001 From: Hollis Blanchard Date: Wed, 21 Mar 2007 17:02:59 -0500 Subject: [PATCH] [POWERPC][XEN] Clear the RMA flag on freed pages. Signed-off-by: Hollis Blanchard --- xen/arch/powerpc/mm.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/xen/arch/powerpc/mm.c b/xen/arch/powerpc/mm.c index 1f1d151925..f36976a143 100644 --- a/xen/arch/powerpc/mm.c +++ b/xen/arch/powerpc/mm.c @@ -401,9 +401,13 @@ int allocate_rma(struct domain *d, unsigned int order) void free_rma_check(struct page_info *page) { - if (test_bit(_PGC_page_RMA, &page->count_info) && - !test_bit(_DOMF_dying, &page_get_owner(page)->domain_flags)) - panic("Attempt to free an RMA page: 0x%lx\n", page_to_mfn(page)); + if (test_bit(_PGC_page_RMA, &page->count_info)) { + if (!test_bit(_DOMF_dying, &page_get_owner(page)->domain_flags)) { + panic("Attempt to free an RMA page: 0x%lx\n", page_to_mfn(page)); + } else { + clear_bit(_PGC_page_RMA, &page->count_info); + } + } } ulong pfn2mfn(struct domain *d, ulong pfn, int *type) -- 2.30.2